// Copyright  2004-2008 Backplane Ltd.
//
// This file is part of Ubiquity formsPlayer
//
// Ubiquity formsPlayer is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3 of the License, or (at your
// option) any later version.
//
// Ubiquity formsPlayer is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
// more details.
//
// You should have received a copy of the GNU General Public License
// along with Ubiquity formsPlayer If not, see <http://www.gnu.org/licenses/>.
//	
//
//   Purpose:  Global constants for FormsPlayer project..
//   $Id$


#ifndef __FORMSPLAYER_DEFINITIONS_H__
#define __FORMSPLAYER_DEFINITIONS_H__

///////////////////////////////////////////////////////////////////////
// Tags
static const CComBSTR  g_lpwszTagPEValue				= L"pe--value";

///////////////////////////////////////////////////////////////////////
// Tags
//	The following represents a comprehensive list of all of the XForms defined elements
//	in the document http://www.w3.org/MarkUp/Forms/2002/XForms-Schema.xsd.
//  version: http://www.w3.org/TR/2003/REC-xforms-20031014/
//-----------------Controls--------------------
static const CComBSTR  g_lpwszTagTrigger				= L"trigger";
static const CComBSTR  g_lpwszTagInput				= L"input";
static const CComBSTR  g_lpwszTagSecret				= L"secret";
static const CComBSTR  g_lpwszTagTextArea				= L"textarea";
static const CComBSTR  g_lpwszTagSelectMany			= L"select";
static const CComBSTR  g_lpwszTagSelectOne			= L"select1";
static const CComBSTR  g_lpwszTagRange				= L"range";
static const CComBSTR  g_lpwszTagOutput				= L"output";
static const CComBSTR  g_lpwszTagUpload				= L"upload";
static const CComBSTR  g_lpwszTagSubmit				= L"submit";

//---------------Head--------------
static const CComBSTR  g_lpwszTagModel				= L"model";
static const CComBSTR  g_lpwszTagInstance				= L"instance";
static const CComBSTR  g_lpwszTagBind					= L"bind";
static const CComBSTR  g_lpwszTagSubmission			= L"submission";
		//NB: not in XForms namespace
static const CComBSTR  g_lpwszTagSchema				= L"schema";

//------------common children
static const CComBSTR  g_lpwszTagLabel				= L"label";
static const CComBSTR  g_lpwszTagHint					= L"hint";
static const CComBSTR  g_lpwszTagHelp					= L"help";
static const CComBSTR  g_lpwszTagAlert				= L"alert";
static const CComBSTR  g_lpwszTagExtension			= L"extension";

//-----------containers
static const CComBSTR  g_lpwszTagGroup				= L"group";
static const CComBSTR  g_lpwszTagRepeat				= L"repeat";
static const CComBSTR  g_lpwszTagSwitch				= L"switch";
static const CComBSTR  g_lpwszTagCase					= L"case";

//-----------select children
static const CComBSTR  g_lpwszTagItem					= L"item";
static const CComBSTR  g_lpwszTagItemset				= L"itemset";
static const CComBSTR  g_lpwszTagChoices				= L"choices";
static const CComBSTR  g_lpwszTagValue				= L"value";
static const CComBSTR  g_lpwszTagCopy					= L"copy";


//----upload children
static const CComBSTR  g_lpwszTagFilename				= L"filename";
static const CComBSTR  g_lpwszTagMediatype			= L"mediatype";

//----Actions
static const CComBSTR  g_lpwszTagAction				= L"action";
static const CComBSTR  g_lpwszTagClose				= L"close";
static const CComBSTR  g_lpwszTagDelete				= L"delete";
static const CComBSTR  g_lpwszTagDispatch				= L"dispatch";
static const CComBSTR  g_lpwszTagInsert				= L"insert";
static const CComBSTR  g_lpwszTagLoad					= L"load";
static const CComBSTR  g_lpwszTagMessage				= L"message";
static const CComBSTR  g_lpwszTagRebuild				= L"rebuild";
static const CComBSTR  g_lpwszTagRecalculate			= L"recalculate";
static const CComBSTR  g_lpwszTagRefresh				= L"refresh";
static const CComBSTR  g_lpwszTagRevalidate			= L"revalidate";
static const CComBSTR  g_lpwszTagReset				= L"reset";
static const CComBSTR  g_lpwszTagSend					= L"send";
static const CComBSTR  g_lpwszTagSetFocus				= L"setfocus";
static const CComBSTR  g_lpwszTagSetValue				= L"setvalue";
static const CComBSTR  g_lpwszTagToggle				= L"toggle";
static const CComBSTR  g_lpwszTagSetIndex				= L"setindex";

static const CComBSTR  g_lpwszDuplicate					 = L"duplicate";
static const CComBSTR  g_lpwszDestroy					= L"destroy";
//End XForms defined tags.


///////////////////////////////////////////////////////////////////////
// Tags used when exposing form information
static const CComBSTR  g_lpwszTagXFE					= L"xfe";
static const CComBSTR  g_lpwszTagForms				= L"forms";
static const CComBSTR  g_lpwszTagForm					= L"form";
static const CComBSTR  g_lpwszTagControls				= L"controls";
static const CComBSTR  g_lpwszControl					= L"control";
static const CComBSTR  g_lpwszRefOrNodeset			= L"refornodeset";
static const CComBSTR  g_lpwszRef						= L"ref";
static const CComBSTR  g_lpwszNodeset					= L"nodeset";
static const CComBSTR  g_lpwszFullXPath				= L"fullxpath";
static const CComBSTR  g_lpwszReadOnly				= L"readonly";
static const CComBSTR  g_lpwszValid					= L"valid";
static const CComBSTR  g_lpwszRelevant				= L"relevant";
static const CComBSTR  g_lpwszState					= L"state";
static const CComBSTR  g_lpwszTrue					= L"true";
static const CComBSTR  g_lpwszFalse					= L"false";

static const CComBSTR g_bsAttrXFormsElementController(L"XFormsElementController");

///////////////////////////////////////////////////////////////////////
// Attributes
static const CComBSTR  g_lpwszAttribURL				= L"url";
static const CComBSTR  g_lpwszAttribId				= L"id";
static const CComBSTR  g_lpwszAttribType				= L"type";
static const CComBSTR  g_lpwszAttribSrcid				= L"srcid";

///////////////////////////////////////////////////////////////////////
// Names
static const CComBSTR  g_lpwszNameDynamicContentView	= L"DynamicContentView";

///////////////////////////////////////////////////////////////////////
// Events
static const CComBSTR  g_lpwszEventSourceValueChanged	= L"source-value-changed";
static const CComBSTR  g_lpwszEventSourceValid		= L"source-valid";
static const CComBSTR  g_lpwszEventSourceInvalid		= L"source-invalid";
static const CComBSTR  g_lpwszEventSourceReadOnly		= L"source-readonly";
static const CComBSTR  g_lpwszEventSourceReadWrite	= L"source-readwrite";
static const CComBSTR  g_lpwszEventSourceEnabled		= L"source-enabled";
static const CComBSTR  g_lpwszEventSourceDisabled		= L"source-disabled";
static const CComBSTR  g_lpwszEventSourceHelp			= L"source-help";
static const CComBSTR  g_lpwszEventSourceHint			= L"source-hint";

///////////////////////////////////////////////////////////////////////
// Miscellaneous
static const CComBSTR  g_lpwszAnonymous				= L"[anonymous]";
static const CComBSTR  g_lpwszUnknown					= L"[unknown]";

///////////////////////////////////////////////////////////////////////
// Registry keys used for branding - these must tally with those inside DeBrandfP.exe
static const char * const g_lpszBrandingKey1		= "CLSID\\{1EC0BC83-20D1-4896-8D27-9ECDE43932D9}";
static const char * const g_lpszBrandingKey2		= "Software\\Classes\\.dbfp";
static const char * const g_lpszBrandingValueName1	= "{0E9FC94E-4CBA-4b0e-9382-EABF5B18CA01}";
static const char * const g_lpszBrandingValueData1	= "{9802F0BF-2910-4de2-B16E-40C9EDD73768}";
static const char * const g_lpszBrandingValueName2	= "{1BEB7BAB-C985-4f39-9B7D-7954CF704211}";
static const char * const g_lpszBrandingValueData2	= "{EBEB4D4E-D821-4e55-AD7B-41A3AF1E6F38}";

#endif
